←Select platform

ResizeBuffer(int,int,byte[],int,int) Method

Summary

Retrieves resized data, one line at a time.

Syntax
C#
VB
C++
public void ResizeBuffer( 
   int row, 
   int column, 
   byte[] buffer, 
   int bufferOffset, 
   int bytes 
) 
Public Overloads Sub ResizeBuffer( _ 
   ByVal row As Integer, _ 
   ByVal column As Integer, _ 
   ByVal buffer() As Byte, _ 
   ByVal bufferOffset As Integer, _ 
   ByVal bytes As Integer _ 
)  
public: 
void ResizeBuffer(  
   int row, 
   int column, 
   array<byte>^ buffer, 
   int bufferOffset, 
   int bytes 
)  

Parameters

row
The number of the row to retrieve. The first row is 0, and the last row is 1 less than the image Height.

column
The column offset within the row to retrieve. The first column offset is 0, and the last column offset is 1 less than the image Width.

buffer
The buffer to hold the image data that this method gets.

bufferOffset
The zero-based index into buffer where retrieving should start.

bytes
The number of bytes to retrieve. Consider the BitsPerPixel, and avoid specifying a number that goes past the end of the row.

  • For a 1-bit image, each byte represents 8 pixels.
  • For a 4-bit image, each byte represents 2 pixels.
  • For an 8-bit image, each byte represents 1 pixel.
  • For a 16-bit image, every 2 bytes represents one pixel.
  • For a 24-bit image, every three bytes represents one pixel.
  • For a 32-bit image, every four bytes represents one pixel.
  • For a 48-bit image, every six bytes represents one pixel.
  • For a 64-bit image, every eight bytes represents one pixel.

You can use the BitsPerPixel property with integer math to calculate the number of bytes needed for a particular number of pixels. For example:

NumberOfBytes = Image.BitsPerPixel * (Image.Width * Image.Height + 7) / 8;

Remarks

By using this low-level method to get any part of a row, you can write a procedure that accesses a single pixel or a rectangular area within the image.

This method accepts an offset parameter ( column) in pixels and a length ( bytes) in bytes. Therefore, you must consider the BitsPerPixel of the image when specifying these parameters. The following table describes the rules:

BitsPerPixel Column Offset (in Pixels) Bytes to Get
1 Must be a multiple of 8 (such as 0,8, or 16). Can be any number up to the end of the row. Consider that there are 8 pixels per byte.
4 Must be an even number (such as 0, 2, or 4). Can be any number up to the end of the row. Consider that there are 2 pixels per byte.
8 Can be any column within the image. Can be any number up to the end of the row. Consider that there is 1 pixel per byte.
16 Can be any column within the image. Must be a multiple of 2 (such as 2, 4, or 6), because there are 2 bytes per pixel.
24 Can be any column within the image. Must be a multiple of 3 (such as 3, 6, or 9), because there are 3 bytes per pixel.
32 Can be any column within the image. Must be a multiple of 4 (such as 4, 8, or 12), because there are 4 bytes per pixel.
48 Can be any column within the image. Must be a multiple of 6 (such as 6, 12, or 18), because there are 6 bytes per pixel.
64 Can be any column within the image. Must be a multiple of 8 (such as 8, 16, or 24), because there are 8 bytes per pixel.

Do not pass a value in bytes that goes past the end of the row. The process is faster when rows are retrieved sequentially, either top-down or bottom-up.

For more information, refer to Introduction to Image Processing With LEADTOOLS.

Example

Refer to RasterImageResize.

Requirements

Target Platforms

Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools Assembly